package com.kyl.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.kyl.base.BaseEntity;
import com.kyl.vo.RoomVo;
import com.kyl.vo.retreat.ElderVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 合同实体类
 */
@Data
@ApiModel(value="合同实体类", description="对应数据库中的合同表结构")
public class Contract extends BaseEntity {

    @ApiModelProperty(value="合同名称")
    private String name;

    @ApiModelProperty(value="丙方手机号")
    private String memberPhone;

    @ApiModelProperty(value="丙方名称")
    private String memberName;

    @ApiModelProperty(value="老人名称")
    private String elderName;

    @ApiModelProperty(value="合同编号")
    private String contractNo;

    @ApiModelProperty(value="合同pdf文件地址")
    private String pdfUrl;

    @ApiModelProperty(value="会员id")
    private Long memberId;

    @ApiModelProperty(value="老人id")
    private Long elderId;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value="合同开始时间")
    private LocalDateTime startTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value="合同结束时间")
    private LocalDateTime endTime;

    @ApiModelProperty(value="合同状态")
    private Integer status;

    @ApiModelProperty(value="排序")
    private Integer sort;

    @ApiModelProperty(value="级别描述")
    private String levelDesc;

    @ApiModelProperty(value="入住编号")
    private String checkInNo;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value="签约时间")
    private LocalDateTime signDate;

    @ApiModelProperty(value="解除提交人")
    private String releaseSubmitter;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value="解除时间")
    private LocalDateTime releaseDate;

    @ApiModelProperty(value="解除pdf文件地址")
    private String releasePdfUrl;

    @ApiModelProperty(value = "老人VO实体类")
    private ElderVo elderVo;

    @ApiModelProperty(value = "房间VO实体类")
    private RoomVo roomVo;
}

